1. Field of the Invention
The present invention relates to a programmable communications interface for general purpose communications in any of a wide variety of serial synchronous and asynchronous communication protocols. More particularly, the present invention relates to a communications interface with per channel DMA input/output in conjunction with bit level control whereby the interface is reconfigurable to support a variety of bit oriented communication protocols transmitted over a communications line.
2. Description of the Prior Art
Data protocol controllers are widely used to allow data communications between communications devices over one or a plurality of communications channels. Such data communications may be synchronous or asynchronous, and accordingly, prior art data protocol controllers typically comprise industry standard universal asynchronous receivers/transmitters (UARTs) or universal synchronous/asynchronous receivers/transmitters (USARTs). Generally, UARTS and USARTS operate in accordance with a particular bit-oriented protocol which is standardized for both the receiver and the transmitter connected to the data channel.
For example, Gulick et al. describe in U.S. Pat. No. 4,907,225 a data protocol controller comprising a UART which supports bit-oriented protocols such as those used in integrated services digital networks (ISDN). The data protocol controller therein described has a bit-oriented protocol and is attached to a computer terminal and the like to allow protocol conversion/rate adaptation to the communications channel. The data protocol controller of Gulick et al. comprises a commercially available UART connected to a microprocessor interface, an internal bus, and a full-duplex device. The UART also includes a transmitter for parallel reception of data on the internal bus. The UART has an eight bit shift register for parallel to serial conversion of the input data which is provided to the full-duplex device as a stream of serial data. The UART further comprises a receiver for serial reception of data on the full-duplex device. The receiver has another eight bit shift register for serial to parallel conversion of the input data which is provided to the internal bus of the protocol controller. The UART thus described by Gulick et al. is compatible with the 8250 standard and can be selectively operated in synchronous or asynchronous modes. Unfortunately, however, the UART described by Gulick et al. is limited by fixed width transmit and receive FIFOs which store only ten-bit words and provide no mechanism for storing data having bit lengths other than 8-bits (plus a 1-bit parity error flag and a 1-bit special character flag). Hence, the UART described by Gulick et al. is not readily configurable to transmit/receive data in data protocols having different bit lengths. As a result, all communications devices communicating through the data protocol controller of Gulick et al. must have the same number of bits in transmitted/received data words in order to permit proper functioning of the data protocol controller.
A communications controller interface described by Holtey et al. in U.S. Pat. No. 4,945,473 provides a technique for emulating an interface between a microprocessor control unit and a multi-line communications unit using dedicated memory for each communications line. However, the communications controller interface of Holtey et al. is similarly limited to communications in accordance with a predetermined protocol. An improved UART is desired which may be reconfigured to allow communication to/from communication devices having different formats and different bit lengths in the communicated data words.
The data protocol limitations of prior art data protocol controllers are particularly troublesome in the SCADA (supervisory control and data acquisition) industry where numerous monitoring devices in the field must communicate over communications lines with a central control computer. Since the monitoring devices are typically replaced at different points in time and thus cannot be assured to have the same protocols as other monitoring devices currently on-line, it is desirable that the communications interface to the central control computer be able to recognize data words of different formats and bit lengths to facilitate system design. Such a function would permit extended use of existing SCADA equipment by allowing communication between older monitoring devices and central control computers and newer monitoring devices and the like independent of the protocol of the newer devices. However, to the inventor's knowledge, such a universal protocol communications interface has heretofore been unavailable in the art.
Accordingly, a universal protocol communications interface is desired which can be easily reconfigured or reprogrammed to handle communications among communications devices operating under a variety of different bit oriented communication protocols. The present invention has been designed to meet these needs.